using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class ClienteVO
	{
		// Impedir o uso de new para esta classe
		protected ClienteVO() { }

		// Cria uma instancia desta classe
		public static ClienteVO CreateVO()
		{
			ClienteVO cliente = new ClienteVO();
			cliente.idPessoaVO = PessoaVO.CreateVO();
			return cliente;
		}
		public static ClienteVO CreateVO(int idCliente)
		{
			ClienteVO obj = CreateVO();
			obj.idCliente = idCliente;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idCliente!=null?idCliente.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idCliente.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idCliente
		{
			get { return this._idCliente; }
			set { this._idCliente = value; }
		}
		private int _idCliente;
		public int idPessoa
		{
			get { return this._idPessoa; }
			set { this._idPessoa = value; 
			      if(value!=null) this.idPessoaVO.idPessoa = (int)value; }
		}
		private int _idPessoa;
        public string pessoa
        {
            get { return this.idPessoaVO.pessoa; }
            set
            {
                this._pessoa = value;
                if (value != null) this.idPessoaVO.pessoa = value;
            }
        }
        private string _pessoa;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public PessoaVO idPessoaVO
		{
			get { return this._idPessoaVO; }
			set { this._idPessoaVO = value; }
		}
		private PessoaVO _idPessoaVO;
		#endregion
	}
}
